System and method for social dancing

ABSTRACT

A system and method for enabling social dancing. The system comprising a movement registration module configured to monitor and identify movements by a participant; and a tactile feedback actuator configured to supply tactile feedback to the participant based on a determination by a logic module. The method performed by a computerized device, the method comprising: monitoring movements by a participant; determining feedback in response to the movements; and instructing a tactile feedback actuator to supply the feedback to the participant.

CROSS-REFERENCE TO RELATED APPLICATION

This is an application for a United States utility patent and is beingfiled as a national application in the United States Patent Office under35 U.S.C. 371 and claims the benefit of U.S. Non-Provisional applicationSer. No. 13/550,019, now U.S. Pat. No. 8,779,908 filed Jul. 16, 2012,entitled “SYSTEM AND METHOD FOR SOCIAL DANCING”, by being a nationalstage filing of International Application Number PCT/IL2013/050579 filedon Jul. 7, 2013, each of which are hereby incorporated by reference intheir entirety.

TECHNICAL FIELD

The present disclosure relates to dancing in general, and to system andmethod for social dancing, in particular.

BACKGROUND

Dance games are a popular class of electronic games. However, thecurrently available dance games do not relate to the activity of socialdancing, in which two or more partners dance with each other.

The currently available games provide the participants visual andauditory cues, thereby allowing the participants to interact with thegame system. Each cue may signal the participant to perform a certainmovement or subroutine, thereby instructing the participant to perform apredetermined dance routine.

BRIEF SUMMARY

One exemplary embodiment of the disclosed subject matter is a systemcomprising: a movement registration module configured to monitor andidentify movements by a participant; and a tactile feedback actuatorconfigured to supply tactile feedback to the participant based on adetermination by a logic module.

Another exemplary embodiment of the disclosed subject matter is acomputer-implemented method performed by a computerized device, themethod comprising: monitoring movements by a participant; determiningfeedback in response to the movements; and instructing a tactilefeedback actuator to supply the feedback to the participant.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The present disclosed subject matter will be understood and appreciatedmore fully from the following detailed description taken in conjunctionwith the drawings in which corresponding or like numerals or charactersindicate corresponding or like components. Unless indicated otherwise,the drawings provide exemplary embodiments or aspects of the disclosureand do not limit the scope of the disclosure. In the drawings:

FIG. 1A-1F shows a schematic illustration of a computerized environment,in accordance with some embodiments of the disclosed subject matter;

FIG. 2 shows a schematic illustration of a body-worn device, inaccordance with some exemplary embodiments of the disclosed subjectmatter;

FIG. 3A shows a flowchart of steps in a method for performing a socialdance with a remote partner, in accordance with some exemplaryembodiments of the disclosed subject matter;

FIG. 3B shows a flowchart of steps in a method for performing a socialdance with a virtual partner, in accordance with some exemplaryembodiments of the disclosed subject matter; and

FIG. 4 shows a block diagram of components of a system, in accordancewith some exemplary embodiments of the disclosed subject matter.

DETAILED DESCRIPTION

The disclosed subject matter is described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of thesubject matter. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

One technical problem dealt with by the disclosed subject matter isproviding a human participant to participate in a social dance withouthaving a partner in the same physical location. In some exemplaryembodiments, two people at remote locations would like to dance witheach other. Additionally or alternatively, a person would like toperform social dancing activity with a virtual partner.

Social dance activity is based on tactile feedback between theparticipants, and in many cases is indifferent to visual and auditorycues from the dance partners. Social dancers, depending on the dance,usually make contact hand-to-hand, chest-to-chest, and hand-to-backduring the dance routine. Some dancers may even close their eyes whenperforming a social dance, and focus on the non-visual cues that theirdance partner provides.

Another technical problem is to enable plurality of users to participatein a virtual party, such as a ballroom dance.

Yet another technical problem is to allow users to perform anyco-operative physical activity, such as but not limited to a martial artexercise, social dance routine, or the like, without being located inthe same physical location.

One technical solution provided by the disclosed subject matter is asystem comprising movement registration module used to interpret themovements of the participant and a tactile feedback actuator that isconfigured to provide tactile feedback to the participant. As socialdance is based on tactile feedback, merely being able to see arepresentation of one's partner is inadequate—a way to ‘feel’ them ispreferable. The tactile feedback may provide such feedback thatsimulates the feedback of a dancing partner.

The tactile feedback may be provided based on a response of a dancepartner to the participant's movements or dance routines. For clarity,the disclosed subject matter refers to the participant as a male whilethe dance partner is referred to as a female. However, the disclosedsubject matter is not limited in such a way. Furthermore, the disclosedsubject matter may be used for social dance routines involving more thantwo participants, such as square dance, Rueda, or the like.

In some exemplary embodiments, the dance partner may be a virtual dancepartner whose actions may be determined by a computer. In some exemplaryembodiments, a dancing logic module may calculate the movements of asimulated partner of given skill and style and simulates the tactilefeedback accordingly. Additionally or alternatively, the dance partnermay be a real dance partner that is in a remote location. The remotedancing partner may act in response to the participant's movements andbased upon her responses, tactile feedback may be provided to theparticipant, such as reflecting the dance partner's movements. In someexemplary embodiments, the tactile feedback may represent the movementof the partner.

In some exemplary embodiments, the participant may be provided withvisual and/or audio-based feedback. In some exemplary embodiments,visual feedback may include a graphical display of the dance partner. Insome exemplary embodiments, the dance partner may be filmed in real-timeand his or her image may be provided. In some exemplary embodiments, anavatar, such as a 3D avatar of the partner may be displayed. In someexemplary embodiments, such as in case the partner is virtual, theavatar may be generated based on computations by the dancing logicmodule. In some exemplary embodiments, the avatar may be structuredbased upon the body structure of the partner.

In some exemplary embodiments, the graphical display may further includethe participant himself. The image of the participant can be real, suchas captured by camera. Additionally or alternatively, the image may beenhanced to look as either dancer pleases.

In some exemplary embodiments, the graphical display may be providedusing a display such as a television screen or projector. Additionallyor alternatively, the graphical display may be provided in an AugmentedReality (AR) manner, such as Augmented Reality glasses. AugmentedReality devices may be used to increase the participant's feeling thathe is dancing with a dance partner, such as by displaying in augmentedreality the dance partner in his arms.

In some exemplary embodiments, a dance party with many people (e.g. aballroom) can be simulated. In some exemplary embodiments, on everyparticipant's side augmented reality devices which simulates the partyroom may be used. In some exemplary embodiments, anybody could beinvited to join the dance party, so as to provide for a virtual danceparty based on actual human interaction. In some exemplary embodiments,a simulated ballroom may be computed in which some dancers are humansand some are AI-based.

In some exemplary embodiments, a social dance between two real partnersmay be presented as part of a larger party that includes virtualdancers. Though only two people are dancing the disclosed subject mattermay making it feel like both dancers are part of a larger party.

In some exemplary embodiments, a participant may switch a dance partnerfrom time to time. In some exemplary embodiments, the participant mayswitch between real and virtual partners.

In some exemplary embodiments, the movement registration module mayinclude a motion sensing input device. The motion sensing input devicemay be, for example, a remote sensor, such as a video camera, aKinect™-like system which is based on remotely sensing user movementusing radar, sound or the like. Additionally or alternatively, themotion sensing input device may be a body-worn device, such as a gloveor body-worn outfit that is capable of sensing, such as usingaccelerometer, optical sensor, depth sensors, and other electronic meansknown in the art to sense movement of a person wearing the device. Itwill be noted that in the present disclosure “body-worn” may refer to anitem that is worn by a participant, held or carried by him, or otherwisecoupled to the body of the participant.

In some exemplary embodiments, the same body-worn device used for motionsensing may include the tactile feedback actuator.

In some exemplary embodiments, the tactile feedback actuator may belocated on the participant's body so as to supply tactile feedback onthe participant's hand, chest, back, hips, or the like.

In some exemplary embodiments, a body-worn device may be limited, incomparison to external devices, as it may be required to give thefeeling of outside force a mobile device but it may not actually applyoutside force. In some exemplary embodiments, an external device maylimit the movements of the participant and therefore it may be desiredto avoid the use thereof.

In some exemplary embodiments, the disclosed subject matter may beconfigured to identify movements and reflect those movements on a dancepartner. In some exemplary embodiments, precision of reflection may bedesired, such as to allow professional dancers or martial art experts toimprove their performance and detect subtle differences. In someexemplary embodiments, it may not be sufficient to simply interpret agesture to comprehend the participant's intent, but rather it may bedesirable to reflect the movements as is and allow the dance partnerinterpret the underlying intent on her own.

One technical effect may be enabling a participant to interact with anelectronic system by performing social dancing. Another technical effectmay be allowing the participant to interact with the system withoutrelying on his sense of sight (e.g., with his eyes closed). Yet anothertechnical effect may be to increase range of social interactions withremote users to include social dancing activities.

Referring now to FIG. 1A showing an illustration of a computerizedenvironment, in accordance with some embodiments of the disclosedsubject matter.

A Participant 110, located in a Location 100, may perform social dancingactivity using a computerized system in accordance with the disclosedsubject matter. A Motion Sensing Input Device 130 may capture movementsof Participant 110. It will be noted that in some exemplary embodimentsMotion Sensing Input Device 130 may be a remote sensor, such as videocamera, as is exemplified in FIG. 1A. Additionally or alternatively,other forms of remote sensors, such as using infrared projectors,camera, microphone array, depth sensors, or additional sensors. Oneexample of such remote sensor is commercially available in MicrosoftKinect™. Additionally or alternatively, Motion Sensing Input Device 130may be a body-worn device or any other device capable of detectingmotion of Participant 110. In some exemplary embodiments, Motion Sensinginput Device 130 may be incorporated with a Tactile Feedback Actuator120 which is body-worn.

In some exemplary embodiments, Motion Sensing Input Device 130 maytransmit, either wirelessly (e.g., using wireless transmitter 132) orwired manner detected motions to a Computer 135 (e.g., using wirelesstransceiver 136). Computer 135 may comprise a processor (not shown) andmemory (not shown). Computer 135 may include a movement registrationmodule (not shown) that is configured to receive movement informationdetected by Motion Sensing Input Device 130, interpret those movement todetermine how to reflect them on a dance partner. In some exemplaryembodiments, movement registration module may receive a video feed froma Motion Sensing Input Device 130 (i.e., in an embodiment using a videocamera) and interpret the video and motions performed by Participant 110as appearing in the video.

In response to the actions of Participant 110 Computer 135 may determinea response by the dance partner. A Tactile Feedback Actuator 120 mayreceive commands from Computer 135 (e.g., via transceiver 122) and maysupply tactile feedback to participant simulating response by the dancepartner.

In some exemplary embodiments, the simulated dance partner may be avirtual dance partner whose actions are determined based on calculationsof Computer 135. Additionally or alternatively, the simulated dancepartner may be based on a Dance Partner 160 located in Remote Location150. In some exemplary embodiments, Dance Partner 160 may use similarsystem, such as including a Computer 190, a Tactile Feedback Actuator170 and a Motion Sensing Input Device 180 to allow Dance Partner 160 tointeract with a computerized system. Based on motions performed byParticipant 110, feedback may be provided to Dance Partner 160, who mayperform a response, effect thereof may be simulated as a tactilefeedback that is supplied to Participant 110.

In some exemplary embodiments, Computer 135 and Computer 190 may beconnected to each other via a computerized network, such as a WAN, aLAN, a Wi-Fi network, an intranet, the Internet, or the like. Computers135 190 may transfer information therebetween to allow each system tosimulate movement of the other participant.

In some exemplary embodiments, Computer 190 may provide video capture ofDance Partner 160 to be used in a graphical display provided as a visualfeedback to Participant 110. In some exemplary embodiments, Participant110 may wear Augmented Reality (AR) Glasses 140 which provides thegraphical display. AR Glasses 140 may comprise a see-through screenwhich is capable displaying layered information over the view. Thegraphical display may be determined in a manner that displays the DancePartner 160 in proximity to Participant 110 as if located beside himwhile dancing. Additionally or alternatively, the graphical display maybe displayed on a display or screen (not shown).

Referring now to FIG. 1B showing an illustration of a computerizedenvironment, in accordance with some embodiments of the disclosedsubject matter.

Tactile Feedback Actuator 120 may further be connected to Support 122,Support 124, or the like. Support 122 may provide a resting point forParticipant's hand. In some exemplary embodiments, Support 122 maycomprise of a rod having a resting point in a leading end thereof. Insome exemplary embodiments, Supports 122, 124 may be adjusted to matchParticipant's characteristics, such as by extending a telescopic rod, byadjusting the direction of the rod, or the like. The location of theresting point may be adjusted to match a location of the hand ofParticipant 110 when dancing with a dance partner. In some exemplaryembodiments, the location of the resting point may be adjusted to patchParticipant's dance frame.

In some exemplary embodiments, Support 122 may be responsive to forceapplied to it, such as a force of Participant's hand pushing or pullingthe resting point while performing a dance routine. Sensors in Support122 may detect application of such force, and may be utilized inaddition to or instead of Motion Sensing Input Device 130 capable ofremotely sensing Participant's 110 motion.

In some exemplary embodiments, Support 122 and 124 may or may not bejoint at their base. In some exemplary embodiments, Support 122 andSupport 124 may be constructed from flexible material allowing them tobend if their rods cross each other, such as when performing

Referring now to FIG. 1C-E showing illustrations of a computerizedenvironment, in accordance with some embodiments of the disclosedsubject matter.

In FIG. 1C, Participant 110 is shown to be looking at Display 140providing a graphical display of Dance Partner 160. Image 145 may bevideo capture of Dance Partner 160 by a video camera located in front ofDance Partner 160 in Remote Location 150. Additionally or alternatively,Image 145 may be Computer-Generated Image (CGI) based on a profile ofDance Partner 160 or based on a dance partner profile in case of avirtual dance partner.

Display 140 may provide a graphical display similar to a displayprovided by AR Glasses 140.

In FIG. 1D, Display 140 shows both image of the partner 145 and image142 representing the Participant 110. Participant's image may be videocaptured by a video camera located substantially behind Participant 110.

In some exemplary embodiments, a first video camera may be locatedsubstantially behind Participant 110 in order to capture an image of theback side of so Participant 110. A second video camera may be locatedsubstantially in front of Participant 110 in order to capture an imageof his front side. The back side image may be used by Display 140, whilethe front side may be used by a corresponding display used in RemoteLocation 150 to provide a graphical display to Dance Partner 160.

In some exemplary embodiments, Motion Sensing Input Device 130 maycomprise the second video camera and/or the first video camera.

FIG. 1E exemplifies that Image 142′ and/or Image 145′ may be ComputerGenerated avatars, which may be generated and rendered based on theparticipants' physical characteristics, movements, or the like. In someexemplary embodiments, the avatar may be of higher or shorter heightthan the person. In some exemplary embodiments, the avatar's limbs mayor may not be proportionate to the size of the person's limbs. In someexemplary embodiments, the avatar may or may not be a humanoid avatar.In some exemplary embodiments, each user, such as Participant 110, maydefine his own avatar, and may modify its characteristics such as skincolor, eye color, hair, nose, mouth, facial hair, cloths, texture, orthe like.

Referring now to FIG. 1F showing illustrations of a computerizedenvironment, in accordance with some embodiments of the disclosedsubject matter.

Tactile Feedback Actuator 120′, 170′ may be body-worn gloves capable ofsupplying tactile feedback to a user's hand. The body-worn gloves, suchas disclosed in www.vrlogic.com/html/immersion/cybergrasp.html and inwww.vrlogic.com/html/immersion/cyberforce.html, both are herebyincorporated by reference. Tactile Feedback Actuator 120′ may comprise alever for applying seemingly external force on the hand of the user,such as reflecting a dance partner's movements in social dances thatinvolve hand-to-hand contact.

Referring now to FIG. 2 shows a schematic illustration of a body-worndevice, in accordance with some exemplary embodiments of the disclosedsubject matter

Device 200 may function as Tactile Feedback Actuator 120 and/or abody-worn Motion Sensing Input Device. Device 200 may comprise Belt 210to be worn by a user around his waist, torso, or the like.

Chest Tactile Supplier 220 may be comprised of a moveable plate whichmay be moved by one or more extendable levers. Chest Tactile Supplier220 may be positioned on or about the user's chest. The plate may beextended towards the chest, thereby supplying tactile feedback to theuser's chest of a chest-to-chest contact.

Back Tactile Supplier 230 may be shaped as a human hand and may bepositioned substantially in parallel to Chest Tactile Suppler 220. BackTactile Supplier 230 may be positioned on or about the user's back. BackTactile Supplier 230 may be configured to press against the user's back,thereby providing tactile feedback of a hand-to-back contact.

In some exemplary embodiments, Device 200 may comprise Support 240, suchas 122 of FIG. 1B. Support 240 may be positioned in a leading end of rod245, which may or may not be extendable. Support 240 may be positionedin a distance and direction from Belt 210 corresponding to a user's handresting point behind a dance partner's back. In some exemplaryembodiments, Support 240 may comprise sensors capable of sensing a forceapplied by user's hand. In some exemplary embodiments, by appliedsufficient force on Support 240 above a predetermined threshold, rod 245may be moved, such as by changing the angle between Belt 210 and Support240. In some exemplary embodiments, any detection of user's movement maybe transmitted using wireless transmitters (not shown) to a dancinglogic module (not shown), which may determine response by a dancepartner. In some exemplary embodiments, the response may be determinedbased on AI computation of a virtual partner. Additionally oralternatively, the response may be determined by simulating the user'smovement to a real dance partner (e.g. Dance Partner 160) and capturingher responses.

In some exemplary embodiments, pressure applied by a user on Support 240may be simulated as a pressure on a corresponding device worn by theremote dance partner supplied by Back Tactile Supplier 230.

Referring now to FIG. 3A showing a flowchart of steps in a method forperforming a social dance with a remote partner, in accordance with someexemplary embodiments of the disclosed subject matter.

In Step 300, movement of the participant may be detected. Detection maybe performed using any motion sensing input device, such as but notlimited to remote motion sensing input device, body-worn motion sensinginput device, or the like. In some exemplary embodiments, a movementregistration module may be operatively coupled to the motion sensinginput device and configured to analyze sensory information detected bythe motion sensing input device. The movement registration module, whichmay be implemented in software, hardware, combination thereof, or thelike, may be configured to analyze the sensory information and identifymovements by the participant, such as representing dance relatedgestures.

In Step 305, movement information may be transmitted to a remotelocation, such as by a computing platform (e.g., 135 of FIG. 1A). Insome exemplary embodiments, information may be transmitted to remotelocation via a computerized network.

In Step 310, video image, of participant, such as captures by a videocamera, which may or may not be a part of a remote motion sensing inputdevice, may be transmitted to a remote location.

Steps 320-330 may be performed in the remote location.

In Step 320, visual feedback may be provided to dance partner such asusing AR devices, a display, or a similar device. The visual feedbackmay be the video image or based thereon. The visual feedback may or maynot include virtual avatars representing the dance partner and/or theparticipant.

In Step 325, tactile feedback may be supplied to the dance partner, suchas by a tactile feedback actuator, which may or may not be body-worn(e.g., 120 of FIG. 1A). The tactile feedback may be devised to simulatecontact between participant and dance partner. The tactile feedback maybe based on movement of the participant and simulate the effect of suchmovement on the dance partner.

In Step 330, movement by the dance partner may be detected. Step 330 maybe similar to Step 300.

Information gathered in remote location may be transmitted to the locallocation in which the participant is located.

In Step 335, movement information may be received from the remotelocation based on the detection of the dance partner's movement.

In step 340, visual feedback may be provided to the participant such asusing AR devices, a display, or a similar device. The visual feedbackmay be a video image of the dance partner or based thereon. The visualfeedback may or may not include virtual avatars representing the dancepartner and/or the participant. In some exemplary embodiments, thevisual feedback may further be based on a video image of theparticipant.

In Step 345, tactile feedback may be supplied to the participant, forexample such as in Step 325. The tactile feedback may simulate effectsof movements by the dance partner on the participant.

Steps 300-345 may be performed repeatedly, during which the participantand his dance partner may respond to each other movements using dancegestures and perform a social dance.

In some exemplary embodiments, based on a gesture by participant orbased on a command inputted by a different manner, such as usingkeyboard, pointing device, verbally, or the like, the participant mayswitch to a different dance partner. In some exemplary embodiments, thevisual feedback given to the participant may include plurality of otherpotential dance partners, which may or may not be engaged in dancingwith others.

Referring now to FIG. 3B showing a flowchart of steps in a method forperforming a social dance with a virtual partner, in accordance withsome exemplary embodiments of the disclosed subject matter. FIG. 3Billustrates a method similar to that of FIG. 3A but instead of dancingwith a remote partner, the participant dances with a virtual partner. Insome exemplary embodiments, a participant may alternate and switchbetween dance partners, and optionally between virtual and remotepartners as well.

In Step 307, movement of the virtual partner may be computed, such as bya dancing logic module. The movement may be computed to correspond tothe participant movement, as detected in Step 200. In some exemplaryembodiments, the skill level of the virtual partner may be adjusted tosuit that of the participant. In some exemplary embodiments, themovement may be computed based on a given skill and style, such as basedon a selection by the participant, automatically adjusted to match thestyle and skill levels of the participant, or the like.

In Step 309, an image of the virtual partner may be generated.

In Step 341, visual feedback may be provided to the participant. Thevisual so feedback may be based on the generated image. Additionally oralternatively, the visual feedback may be based on a video capture ofthe participant himself.

In Step 345, tactile feedback may be supplied to the participant. Thetactile feedback may be based on the computed movement information.

Referring now to FIG. 4 showing a block diagram of components of asystem, in accordance with some exemplary embodiments of the disclosedsubject matter.

In some exemplary embodiments, an Apparatus 400 may comprise a Processor402. Processor 402 may be a Central Processing Unit (CPU), amicroprocessor, an electronic circuit, an Integrated Circuit (IC) or thelike. Processor 402 may be utilized to perform computations required byApparatus 300 or any of it subcomponents. Processor 402 may beconfigured to execute computer-programs useful in performing the methodof FIG. 3A, FIG. 3B or the like

In some exemplary embodiments of the disclosed subject matter, anInput/Output (I/O) Module 405 may be utilized to provide an output toand receive input from a user, such as Participant 110. I/O Module 405may be operatively coupled to a Tactile Feedback Actuator 454 used forsupplied tactile feedback to the user. I/O Module 405 may be operativelycoupled to a display (not shown), AR device (not shown) or a similardevice which may be used for providing visual feedback to the user.Additionally or alternatively, audio feedback and/or music may be playedand outputted via an audio output device (not shown), such as enablingthe user to listen to the music to which he is dancing, hear the dancepartner (either real or remote) talk with him, or the like. I/O Module405 may be operatively coupled to a Motion Sensing Input Device 456 usedto monitor movement by the user. I/O Module 305 may further be used totransmit and receive information to and from Remote Apparatus 452, suchas located in Remote Location 150. Data transmission may be enabled overa computerized network connecting, either wirelessly or in awired-manner, between Apparatus 400 and Remote Apparatus 452.

In some exemplary embodiments, Apparatus 400 may comprise a Memory Unit407. Memory Unit 407 may be a short-term storage device or long-termstorage device. Memory Unit 407 may be a persistent storage or volatilestorage. Memory Unit 407 may be a disk drive, a Flash disk, a RandomAccess Memory (RAM), a memory chip, or the like. In some exemplaryembodiments, Memory Unit 407 may retain program code operative to causeProcessor 402 to perform acts associated with any of the subcomponentsof Apparatus 400. In some exemplary embodiments, Memory Unit 407 mayretain program code operative to cause Processor 402 to perform actsassociated with any of the steps in FIGS. 3A-3B above.

The components detailed below may be implemented as one or more sets ofinterrelated computer instructions, executed for example by Processor402 or by another processor. The components may be arranged as one ormore executable files, dynamic libraries, static libraries, methods,functions, services, or the like, programmed in any programming languageand under any computing environment.

Movement Registration Module 410 may be configured to receive motionsensing information from Motion Sensing Input Device 456 and monitoruser's movement. Movement Registration Module 410 may identify movementby the user that relate to a social dance activity, such asdance-related gestures.

Dancing Logic Module 420 may be configured to determine tactile feedbackto be supplied to the user. The tactile feedback may be based onmovements of a remote partner (e.g., received from Remote Apparatus452). Additionally or alternatively, the movement may be computed byDancing Logic Module 420, which calculates movements of a virtualpartner. In some exemplary embodiments, the movements of the virtualpartner may be in response to movements of the user, which wereregistered by Movement Registration Module 410.

Partner Image Generator 425 may generate CGI imagery of the dancepartner. In some exemplary embodiments, the CGI may be based on a realdance partner, such as by customizing an appearance of a remote partner.Additionally or alternatively, the CGI may be based on a virtualpartner. In some exemplary embodiments, the CGI may be generated so asto represent movements of the dance partner, which may be detected in aremote location, determined by Dancing Logic Module 420, or the like.

Participant Image Generator 430 may generate CGI imagery of theparticipant. The CGI may be based on a video image of the participant ormay be automatically determined based on a detected posture of theparticipant or the like. The CGI may be generated based on userpreferences.

It will be noted that in some exemplary embodiments, Remote Appratus 452may similarly generate CGI's representing the dance partner and theparticipant. In some exemplary embodiments, the same CGI may begenerated in both apparatuses. Additionally or alternatively, based onuser configuration, different CGIs may be generated, such as aparticipant may see a CGI of the dance partner that appears to be a tallblonde dancer, while the dance partner may see herself as a short man.In some exemplary embodiments, one of the users (e.g., the dance partneror the participant) may see himself or herself as captured in video,while the other user may see a CGI image instead.

In some exemplary embodiments, the image of a dancer may be selectivelyshared with only some of remote participants, thereby addressing privacyissues. The dancer may select which remote participants may beauthorized to see him as is, and which participants may see him usingone or more avatars. In some exemplary embodiments, the dancer maydetermine groups of remote participants and for each group determine anavatar to be used to represent him to the members of the group.Additionally or alternatively, a group may be determined to beauthorized to see the dancer's video image.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof program code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

As will be appreciated by one skilled in the art, the disclosed subjectmatter may be embodied as a system, method or computer program product.Accordingly, the disclosed subject matter may take the form of anentirely hardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present invention may take the form of a computer program productembodied in any tangible medium of expression having computer-usableprogram code embodied in the medium.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CDROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, and the like.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on the user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on a remote computer or entirely onthe remote computer or server. In the latter′ scenario, the remotecomputer may be connected to the user's computer through any type ofnetwork, including a local area network (LAN) or a wide area network(WAN), or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A system comprising: a movement registrationmodule configured to monitor and identify movements by a participant,wherein the movements are associated with a virtual physical interactionbetween the participant and a second participant, wherein the secondparticipant is not physically located at a same location of theparticipant, wherein the movements comprise a pulling action where theparticipant pulls the second participant; and a tactile feedbackactuator configured to supply tactile feedback to the participant basedon a determination by a logic module of a feedback associated with thevirtual physical interaction between the participant and the secondparticipant, wherein said logic module is configured to determineresponse movements of the second participant in response to themovements by the participant based on the movements of the participant,wherein the feedback is determined based on the response movements ofthe second participant, and induce the feedback via said tactilefeedback actuator; and wherein said tactile feedback actuator isconfigured to relay feedback commensurate with a virtual physicalcontact of the second participant with the participant.
 2. The system ofclaim 1, wherein said system is operatively coupled with a secondtactile feedback actuator configured to supply tactile feedback to thesecond participant based on the movements of the participant.
 3. Thesystem of claim 2, wherein said system is configured to relay feedbackthat commensurates with a virtual physical contact of the secondparticipant with the participant and to relay feedback thatcommensurates with a virtual physical contact of the participant withthe second participant.
 4. The system of claim 3, wherein said tactilefeedback actuator is configured in size and shape to relay feedbackcommensurate with a virtual physical contact between the hands of theparticipant and the second participant.
 5. The system of claim 1,wherein the movements of the second participant are configured toinstruct the participant on a manner of performing a physical action. 6.The system of claim 5, wherein the physical action is a martial artmove.
 7. The system of claim 1, wherein the movements of the secondparticipant are configured to convey a human physical interaction. 8.The system of claim 7, wherein the human physical interaction is a hug.9. The system of claim 7, wherein the human physical interaction is ahandshake.
 10. A method comprising: monitoring and identifying movementsby a participant, wherein the movements are associated with a virtualphysical interaction between the participant and a second participant,wherein the second participant is not physically located at a samelocation of the participant, wherein the movements comprise a pullingaction where the participant pulls the second participant; determining,based on the movements of the participant, response movements of thesecond participant in response to the movements by the participant; andsupplying tactile feedback to the participant based on a determinationof feedback associated with the virtual physical interaction, whereinthe tactile feedback is determined based on the response movements ofthe second participant and commensurate with a virtual physical contactof the second participant with the participant.
 11. The method of claim10, further comprising supplying tactile feedback to the secondparticipant based on the movements of the participant.
 12. The method ofclaim 10, further comprising relaying feedback that commensurates with avirtual physical contact of the second participant with the participantand relaying feedback that commensurates with a virtual physical contactof the participant with the second participant.
 13. The method of claim10, wherein supplying tactile feedback comprises relaying feedbackcommensurate with a virtual physical contact between the hands of theparticipant and the second participant.
 14. The method of claim 10,wherein the movements of the second participant are configured toinstruct the participant on a manner of performing a physical action.15. The method of claim 10, wherein the movements of the secondparticipant are configured to convey a human physical interaction. 16.The method of claim 15, wherein the human physical interaction is a hug.17. The system of claim 1, wherein said tactile feedback actuator isconfigured to supply the tactile feedback by applying seemingly externalpulling force on the participant.
 18. The system of claim 1, wherein thefeedback commensurate with a virtual physical contact of the secondparticipant with the participant is a feedback corresponding in to aforce applied in a virtual physical contact of the second participantwith the participant, whereby providing different feedbacks to differentvirtual physical contacts between the second participant and theparticipant.
 19. A system comprising: a sensor capable of sensing aforce applied by a participant's hand, wherein the force applied by theparticipant's hand is associated with a virtual physical interactionbetween the participant's hand and a second participant's hand, whereinthe second participant is not physically located at a same location ofthe participant; a logic module configured to determine a reaction tothe force by the second participant's hand; and a tactile feedbackactuator configured to supply tactile feedback to the participant's handbased on the reaction, wherein said tactile feedback actuator isconfigured to relay feedback commensurate with a virtual physicalcontact of the second participant with the participant.